2025-0603-2155 如何使用 UE GAS 实现弹反机制
为了能让主角进行弹反
进行按键绑定
- 设定弹反技能的按键
角色身上需要有可供弹反的 collision
- 在 bp_player 身上创建
ParryCollision
需要有弹反动画
a_parrya_parry_montage- 需要有对应的 notification state
ns_parrywindow- override 其 onbeginevent 和 on end event
- 将对应的 collision 打开 关闭
- 需要有对应的 notification state
需要有 Parry_GA
- 按键之后 try activate
parry_ga parry_ga内部的逻辑- ability activated
- play montage and wait
- 需要播放 parry 对应的 montage
- 然后需要监听 gameplay event
parry_success- 向敌方施加
stun_ge
- 向敌方施加
parry_fail- 需要向自己施加
hit_ge
- 需要向自己施加
- 或者只是正常结束 blend out
- end ability
- play montage and wait
- ability activated
为了能让敌方能被弹反
角色身上需要有攻击 collision
- 在 bp_player 上创建
attackCollision
需要有 stun ability 和动画
stun_gaa_stuna_stun_montage
需要有攻击动画
a_attacka_attack_montage- 需要有对应 notification state
ns_attackwindow- override 其 on begin event 和 on end event
- 将对应 collision 开启 关闭
- 需要有对应 notification state
需要有 attack_ga
- begin play 之后根据 timer 每过 3s 自动触发
attack_ga内部逻辑- ability activated
- play montage and wait
- 播放 attack 对应 montage
- 监听 gameplay event
parry_successparry_fail
- end ability
- play montage and wait
- ability activated
需要双方能够发生交互
对于玩家的 parrycollision
- on collision begin overlap
- 如果 other actor tag = enemy
- send gameplay event
parry_sucess
- send gameplay event
- 否则
- send gameplay event
parry_fail
- send gameplay event
- 如果 other actor tag = enemy
注意事项
stun_ga- 触发条件中需要添加具有
stun_ge
- 触发条件中需要添加具有
stun_ge- 需要能够取消攻击,并且与
state.stun互斥
- 需要能够取消攻击,并且与